Presto একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন, যা নিরাপত্তার জন্য TLS/SSL (Transport Layer Security / Secure Sockets Layer) কনফিগারেশন সাপোর্ট করে। TLS/SSL কনফিগারেশনের মাধ্যমে, Presto সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা এনক্রিপ্টেডভাবে স্থানান্তরিত হয়, যা সংবেদনশীল তথ্যের নিরাপত্তা নিশ্চিত করে।
প্রথমত, আপনাকে TLS/SSL সার্টিফিকেট তৈরি এবং কনফিগার করতে হবে। নিচে Presto তে TLS/SSL কনফিগারেশনের জন্য ধাপে ধাপে প্রক্রিয়া দেওয়া হলো।
Presto সার্ভার এবং ক্লায়েন্টের মধ্যে TLS/SSL এনক্রিপশন চালানোর জন্য সার্ভার এবং ক্লায়েন্টের জন্য সার্টিফিকেট এবং কী জেনারেট করতে হবে। আপনি OpenSSL ব্যবহার করে এই সার্টিফিকেট এবং কী তৈরি করতে পারেন।
সার্টিফিকেট এবং কী তৈরি করার জন্য OpenSSL কমান্ড:
Private Key তৈরি করুন:
openssl genpkey -algorithm RSA -out presto-server-key.pem -aes256
CSR (Certificate Signing Request) তৈরি করুন:
openssl req -new -key presto-server-key.pem -out presto-server.csr
Self-Signed Certificate তৈরি করুন (সংশ্লিষ্ট CSR দিয়ে):
openssl x509 -req -in presto-server.csr -signkey presto-server-key.pem -out presto-server-cert.pem
এই প্রক্রিয়ায় আপনি একটি presto-server-cert.pem
(সার্টিফিকেট) এবং presto-server-key.pem
(কী) পাবেন।
Presto সার্ভারের TLS/SSL কনফিগারেশন সেটআপ করতে হবে। এই কনফিগারেশন ফাইলগুলি /etc/presto/config.properties
এবং /etc/presto/node.properties
ফাইলে রাখতে হবে।
প্রথমত, Presto সার্ভারের কনফিগারেশন ফাইল config.properties
এ TLS/SSL সেটআপ করুন:
# TLS/SSL কনফিগারেশন
http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/path/to/presto-server-keystore.jks
http-server.https.keystore.password=<keystore-password>
http-server.https.truststore.path=/path/to/presto-server-truststore.jks
http-server.https.truststore.password=<truststore-password>
true
সেট করুন।Presto নোড কনফিগারেশন ফাইলেও কিছু পরিবর্তন করতে হবে:
# node.properties
http-server.https.enabled=true
Presto সার্ভার এবং ক্লায়েন্টের জন্য সঠিক Keystore এবং Truststore তৈরি করা আবশ্যক। এখানে Keystore সার্টিফিকেট এবং প্রাইভেট কী ধারণ করে, এবং Truststore পিপিএল সার্টিফিকেট ধারণ করে যা ক্লায়েন্ট বা সার্ভার বিশ্বাস করে।
# Keystore তৈরি করুন
keytool -genkeypair -alias presto -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore presto-server-keystore.jks -validity 3650
# Truststore তৈরি করুন (যদি CA সার্টিফিকেট থাকে)
keytool -import -alias my_ca -file ca-cert.pem -keystore presto-server-truststore.jks
এখানে, presto-server-keystore.jks
হল সার্ভারের Keystore এবং presto-server-truststore.jks
হল Truststore যা বিশ্বাসযোগ্য সার্টিফিকেট ধারণ করে।
Presto TLS/SSL কনফিগারেশন এবং সার্টিফিকেট সেট করার পর, Presto সার্ভার রিস্টার্ট করতে হবে যাতে পরিবর্তনগুলি কার্যকর হয়।
bin/launcher restart
এটি আপনার Presto সার্ভারকে TLS/SSL সহ পুনরায় চালু করবে।
Presto ক্লায়েন্টও সার্ভারের TLS/SSL সংযোগে অংশ নিতে TLS/SSL কনফিগারেশন প্রয়োজন:
Presto CLI থেকে HTTPS (TLS/SSL) ব্যবহার করার জন্য, --server
আর্গুমেন্টের সাথে সার্ভারের ঠিকানা এবং পোর্ট নম্বর এবং সার্টিফিকেট ফাইল প্রদান করুন:
presto --server https://<presto-server-host>:8443 --catalog hive --schema default --truststore /path/to/presto-server-truststore.jks --truststore-password <truststore-password>
এই প্রক্রিয়াটি Presto সার্ভারের নিরাপত্তা নিশ্চিত করতে সহায়ক।
common.read_more